1 PRINT"[147]" 100 DEV=8:GOTO1850 110 PRINTHM$;LEFT$(X$,X);LEFT$(Y$,Y);:RETURN 120 A=ABS(X)+.005-.5*(DP=0):A1=INT(A):A$=MID$(STR$(A1),2):IFX<0THENA$="-"+A$ 130 IFDPTHEN A2$=MID$(STR$(INT((A-A1)*100)),2):IFLEN(A2$)<2THENA2$="0"+A2$ 140 IFDPTHENA$=A$+"."+A2$ 150 A$=RIGHT$(SP$+A$,F):RETURN 160 A$=LEFT$(SP$,(X-LEN(A$))/2)+A$:RETURN 170 FORI=1TONW:A=0:FORJ=0TONR-1:A=A+TB(J,I):NEXT:TB(NR,I)=A:TB(0,I+1)=A:NEXT 180 FORI=1TONW:MM=0:IFTB(NR,I)<0THENMM=-1:I=NW 190 NEXT:RETURN 200 A$=RIGHT$(SP$+"WEEK"+STR$(CW),F-2):X=2:Y=3:GOSUB110:PRINT A$;:RETURN 210 A$="BUDGET PLANNER"+STR$(YR):X=40:GOSUB160 220 PRINTCL$;FG$;A$:PRINTD$:PRINTEA$:EA$="" 230 GOSUB280:FORI=0TONR:IFMMANDI=NRTHENPRINTDEBT$; 240 PRINTHM$;LEFT$(Y$,I+5);:A$=TB$(I):GOSUB150:PRINTA$;FG$; 250 FORJ=WTOW+2:IFI=NRANDTB(I,J)<0THENPRINTDEBT$; 260 X=TB(I,J):GOSUB120:PRINTA$;FG$; 270 NEXT:NEXT:RETURN 280 GOSUB200:A=D:B=M:C=YR 290 FORZ=1TO3 300 A$=STR$(D)+MNTH$(M):GOSUB150:PRINTA$; 310 GOSUB580:NEXT 320 D=A:M=B:YR=C 330 PRINT"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]" 340 RETURN 350 GOSUB200:X=TB(CR,CW):GOSUB120:B$=RV$+A$+NV$:X=CC*10:Y=CR+5:GOSUB110 360 PRINTB$; 370 GETC$:IFC$=""THEN370 380 IFC$="+"ORC$="-"ORC$="."OR(C$>="0"ANDC$<="9")THEN740 390 IFC$=UP$THEN610 400 IFC$=DN$THEN640 410 IFC$=LF$THEN660 420 IFC$=RT$THEN700 430 IFC$=CR$THENRETURN 440 IFC$=BK$THENIFLEN(D$)<>0THENC$="":D$=LEFT$(D$,LEN(D$)-1):GOTO740 450 GOSUB110:PRINTA$; 460 IFASC(C$)>132ANDASC(C$)<141THEN760 470 IFC$="[205]"THEN1650 480 IFC$="[196]"THENDP=NOTDP:GOSUB210:GOTO350 490 IFC$="[197]"THEN1730 500 IFC$="[198]"THEN1790 510 IFC$="[215]"THEN1630 520 IFC$="[212]"THENDEV=1:EA$="TAPE SELECTED[146]":GOSUB210:GOTO350 530 IFC$="[209]"THENDEV=8:EA$="DISK SELECTED[146]":GOSUB210:GOTO350 540 GOSUB110:PRINTB$:GOTO370 550 D=D-7:IFD>=1THENRETURN 560 M=M-1:IFM>=1THEND=D+MNTH(M):RETURN 570 YR=YR-1:M=12:D=D+MNTH(M):RETURN 580 D=D+7:IFD<=MNTH(M)THENRETURN 590 D=D-MNTH(M):M=M+1:IFM<13THENRETURN 600 YR=YR+1:M=1:RETURN 610 IFCR=0THEN370 620 CR=CR-1 630 GOSUB110:PRINTA$;:GOTO350 640 IFCR<>NR-1THENCR=CR+1:GOTO630 650 GOTO370 660 IFCC<>1THENCC=CC-1:CW=CW-1:GOTO630 670 IFCW=1THEN370 680 CW=CW-1:W=W-1:GOSUB550 690 GOSUB210:GOTO350 700 IFCC<>3THENCC=CC+1:CW=CW+1:GOTO630 710 IFCW=NWTHEN370 720 CW=CW+1:W=W+1:GOSUB580 730 GOSUB210:GOTO350 740 IFLEN(D$)<10THEND$=D$+C$:PRINTHM$;DN$;D$;LEFT$(SP$,10-LEN(D$)):GOTO370 750 GOTO370 760 PRINT HM$;DN$;SP$:PRINTSP$ 770 ONASC(C$)-132GOSUB780,870,980,1090,1100,1250,1330,1400:GOTO350 780 X=0:Y=0:GOSUB110:PRINTWH$;"HELP GOTO ND OF MONTH " 790 Y=Y+1:GOSUB110:PRINTWH$;"LOAD[160][160] SAVE IND NEG " 800 Y=Y+1:GOSUB110:PRINTWH$;"+ROW[160][160] -ROW ONTHLY EXP " 810 Y=Y+1:GOSUB110:PRINTWH$;"CALC[160][160] PRNT EEKLY EXP " 820 Y=Y+1:GOSUB110:PRINTWH$;"DISK APE ECIMAL " 830 Y=Y+1:GOSUB110:PRINT" " 840 GETA$:IFA$=""THEN840 850 PRINTFG$; 860 GOSUB210:RETURN 870 X=0:Y=0:GOSUB110:PRINTWH$;"*LOAD*[146]" 880 Y=Y+1:GOSUB110:F$="":INPUT"FILENAME";F$:IFF$=""THEN1210 890 IFDE=8THEN910 900 OPEN2,1,0,F$:GOTO920 910 OPEN15,8,15:OPEN2,8,2,F$+",S,R":GOSUB2300:IFEATHENGOSUB210:GOTO970 920 PRINTCL$;DN$;"LOADING ";F$ 930 INPUT#2,NR,NW,D,M,YR:M0=M:D0=D:Y0=YR:CC=1:CR=1:CW=1:W=1:GOSUB2140 940 IFDE=8THENGOSUB2300:IFEATHEN970 950 FORI=0TONR:INPUT#2,TB$(I):FORJ=0TONW:INPUT#2,TB(I,J):NEXTJ,I 960 GOSUB170:GOSUB210 970 CLOSE2:CLOSE15:RETURN 980 X=0:Y=0:GOSUB110:PRINTWH$;"*+ROW*[146]" 990 IFNR=18THENY=Y+1:GOSUB110:PRINT"-NO MORE ROOM-":GOTO830 1000 N$="":Y=Y+1:GOSUB110:INPUT"NAME";N$ 1010 IFN$=""THEN1080 1020 Y=Y+1:GOSUB110:I$="E":INPUT"(I/E)";I$ 1030 A=-1:IFI$="I"THENA=1 1040 CR=CR+1 1050 FORI=NRTOCRSTEP-1:TB$(I+1)=TB$(I):FORJ=0TONW:TB(I+1,J)=TB(I,J):NEXTJ,I 1060 FORI=1TONW:TB(CR,I)=0:NEXT:TB$(CR)=LEFT$(N$,10) 1070 NR=NR+1:TB(CR,0)=A 1080 GOSUB210:RETURN 1090 GOSUB110:PRINTA$;:GOSUB170:GOSUB210:RETURN 1100 X=0:Y=0:GOSUB110:PRINTWH$;"*GOTO*[146]" 1110 Y=Y+1:GOSUB110:W$="":INPUT"WEEK";W$ 1120 A=INT(VAL(W$)) 1130 IFLEFT$(W$,1)="-"ORLEFT$(W$,1)="+"THENA=CW+A 1140 IFA=WTHEN1200 1150 IFA>50THENA=50 1160 IFA<=0THEN1210 1170 IFA>WTHEN1220 1180 W=W-1:GOSUB550 1190 IFAWTHEN1220 1240 GOTO1200 1250 X=0:Y=0:GOSUB110:PRINTWH$;"*SAVE*[146]" 1260 Y=Y+1:GOSUB110:F$="":INPUT"FILENAME";F$:IFF$=""THEN1210 1270 IFDE=8THEN1290 1280 OPEN2,1,2,F$:GOTO1300 1290 OPEN15,8,15:OPEN2,8,2,"@0:"+F$+",S,W":GOSUB2300:IFEATHEN1320 1300 PRINT#2,NR;",";NW;",";D0;",";M0;",";Y0 1310 FORI=0TONR:PRINT#2,TB$(I):FORJ=0TONW:PRINT#2,TB(I,J):NEXTJ,I 1320 CLOSE15:CLOSE2:GOSUB170:GOSUB210:RETURN 1330 X=0:Y=0:GOSUB110:PRINTWH$;"*-ROW*[146]" 1340 IFCR=0THENY=Y+1:GOSUB110:PRINT"ILLEGAL ROW":GOTO830 1350 Y=Y+1:GOSUB110:N$="":INPUT"SURE";N$ 1360 IFLEFT$(N$,1)<>"Y"THEN1210 1370 NR=NR-1 1380 FORI=CRTONR:TB$(I)=TB$(I+1):FORJ=0TONW:TB(I,J)=TB(I+1,J):NEXTJ,I 1390 CR=CR-1:GOTO1210 1400 Q$="":PRINTHM$;WH$;"":INPUT"FROM";Q$:IFQ$=""THEN1210 1410 Q1$="":INPUT"TO ";Q1$:IFQ1$=""THENQ1$=Q$ 1420 Q$="-"+Q$:M1=0:FORI=1TO12:IFMNTH$(I)=Q$THENM1=I:I=12 1430 NEXT:M2=0:Q1$="-"+Q1$:FORI=1TO12:IFMN$(I)=Q1$THENM2=I:I=12 1440 NEXT:IFM1=0ORM2=0THENEA$="ILLEGAL MONTH":GOTO1210 1450 OPEN4,4:CMD4:X=79:A$="BUDGET PLANNER"+STR$(Y0) 1460 PRINT" "A$:PRINT:M=M0:Y=Y0:D=D0:Q=1 1470 M2=M2+1:IFM2=13THENM2=1 1480 IFM<>M1THENGOSUB580:Q=Q+1:GOTO1480 1490 PRINTTAB(10);:N=1 1500 A$=STR$(D)+MNTH$(M):GOSUB150:PRINTA$; 1510 A=M:GOSUB580:IFA=MTHENN=N+1:GOTO1500 1520 PRINT:FORI=0TON:PRINT"[195][195][195][195][195][195][195][195][195][195]";:NEXT:PRINT 1530 FORI=0TONR:A$=TB$(I):GOSUB150 1540 IFI=NRANDMMTHENPRINTRV$;A$;NV$;:GOTO1560 1550 PRINTA$; 1560 QQ=Q+N-1:IFQQ>52THENQQ=52 1570 FORJ=QTOQQ:X=TB(I,J):GOSUB120 1580 IFI=NRANDX<0THENPRINTRV$;A$;NV$;:GOTO1600 1590 PRINTA$; 1600 NEXTJ:PRINT:NEXTI 1610 PRINT:PRINT:Q=Q+N:IFQ<53ANDM<>M2THEN1490 1620 M=M0:D=D0:YR=Y0:W=1:CW=1:CC=1:CR=0:PRINT#4:CLOSE4:GOTO1210 1630 IFD$=""THENRETURN 1640 A=TB(CR,0)*VAL(D$):FORI=CWTONW:TB(CR,I)=A:NEXTI:D$="":GOSUB210:GOTO350 1650 IFD$=""THENRETURN 1660 A=D:B=M:C=YR:Q=W:X=M 1670 IFW<>CWTHENGOSUB580:W=W+1:GOTO1670 1680 X=M 1690 GOSUB580:W=W+1:IFX=MTHEN1690 1700 X=M:W=W-1:GOSUB550:IFW>52THEND=A:M=B:YR=C:W=Q:D$="":GOTO1720 1710 TB(CR,W)=TB(CR,0)*VAL(D$):GOTO1690 1720 GOSUB210:GOTO350 1730 IFW<>CWTHENW=W+1:GOSUB580:GOTO1730 1740 A=D:B=M:C=YR:W=W+1:GOSUB580:X=M:FL=0 1750 GOSUB580:W=W+1:IFX=MTHEN1750 1760 GOSUB550:W=W-1:IFW>50THENFL=-1:GOTO1760 1770 CC=1:CW=W:IFFLTHENCC=3:CW=52 1780 GOSUB210:GOTO350 1790 IFW<>CWTHENW=W+1:GOSUB580:GOTO1790 1800 A=D:B=M:C=YR:Q=W 1810 GOSUB580:W=W+1:IFTB(NR,W)>=0ANDW<>50THEN1810 1820 IFTB(NR,W)>=0THEND=A:M=B:YR=C:W=Q:GOTO350 1830 CC=1:CW=W 1840 GOSUB210:GOTO350 1850 DIMTB(18,53),TB$(18),MN$(12),MN(12) 1860 DEBT$=CHR$(28):FG$=CHR$(159):HM$=CHR$(19):CL$=CHR$(147):UP$=CHR$(145) 1870 DN$=CHR$(17):LF$=CHR$(157):RT$=CHR$(29):CR$=CHR$(13):BK$=CHR$(20) 1880 RV$=CHR$(18):NV$=CHR$(146):WH$=CHR$(5)+RV$ 1890 POKE53280,3:POKE53281,0:PRINTFG$ 1900 REM FOR PLUS 4, PRIOR LINE IS COLOR 0,4,0:COLOR 4,4,7 1910 PRINTFG$:FORI=1TO12:READMNT$(I),MNT(I):NEXT 1920 DATA -JAN,31,-FEB,28,-MAR,31,-APR,30 1930 DATA -MAY,31,-JUN,30,-JUL,31,-AUG,31 1940 DATA -SEP,30,-OCT,31,-NOV,30,-DEC,31 1950 W=1:F=10:DP=-1:NW=52 1960 SP$=" " 1970 X$="":FORI=1TO40:X$=X$+RT$:NEXT 1980 Y$="":FORI=1TO24:Y$=Y$+DN$:NEXT 1990 A=FRE(X) 2000 NR=1:CW=1:CR=0:CC=1 2010 TB$(0)="PREVBAL":TB(0,0)=1 2020 TB$(1)="TOTAL" 2030 GOSUB2070 2040 GOSUB350 2050 IFD$=""THEN2040 2060 TB(CR,CW)=TB(CR,0)*VAL(D$):D$="":X=0:Y=1:GOSUB110:PRINTSP$:GOTO2040 2070 A$="BUDGET PLANNER":X=39:GOSUB160:PRINT"[147]";FG$;A$ 2080 PRINT:PRINTEA$:F$="":EA$="" 2090 INPUT"ENTER FILENAME";F$ 2100 IFF$=""THEN2170 2110 GOSUB890 2120 IFEATHEN2070 2130 RETURN 2140 X=Y0:MNTH(2)=28:IFM0>2THENX=X+1 2150 IFINT(X/4)=X/4THENMN(2)=29 2160 RETURN 2170 A$="BUDGET PLANNER":X=39:GOSUB160:PRINT "[147]";FG$;A$ 2180 PRINTD$:INPUT"DAY ";DD$:D=VAL(DD$) 2190 INPUT"MONTH ";MM$:MM$="-"+MM$ 2200 INPUT"YEAR ";YR$:YR=VAL(YR$):Y0=YR 2210 M=0:FORI=1TO12:IFMN$(I)=MM$THENM=I 2220 NEXT:IFM=0THEN2280 2230 IFYR<1910ORYR>1999THEN2290 2240 GOSUB2140 2250 IFD<1ORD>MNTH(M)THEN2270 2260 D$="":GOSUB210:M0=M:D0=D:Y0=YR:RETURN 2270 D$="ILLEGAL DAY VALUE TRY AGAIN[146]":GOTO2170 2280 D$="ILLEGAL MONTH - USE 3-CHAR ABREVIATION[146]":GOTO2170 2290 D$="ILLEGAL YEAR - (1910-1999 ONLY)[146]":GOTO2170 2300 INPUT#15,EA,EA$,A,A:EA=(EA<>0):RETURN